package ai.people.netmon.twitter.probe.service;

import ai.people.netmon.framework.domain.twitter.probe.entity.TwitterAccount;
import ai.people.netmon.framework.domain.twitter.view.entity.TwitterAccountView;
import ai.people.netmon.framework.domain.twitter.probe.request.UserWebRequest;
import ai.people.netmon.framework.domain.twitter.probe.vo.TwitterAccountVO;
import ai.people.netmon.framework.model.response.PageResponse;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 用户服务
 *
 * @author yuanqinglong
 * @date 2022/2/25 10:37
 */
public interface TwitterUserService extends IService<TwitterAccount> {


    /**
     * 获取用户
     *
     * @param id id
     * @return {@link TwitterAccountVO}
     */
    TwitterAccount getUser(Long id);


    /**
     * twitter用户添加
     *
     * @param twCollectionConfigAccount tw系列配置账户
     */
    void saveTwitterUser(TwitterAccount twCollectionConfigAccount);


    /**
     * 批量保存twitter用户
     *
     * @param twCollectionConfigAccount tw系列配置账户
     */
    void batchSaveTwitterUser(List<TwitterAccount> twCollectionConfigAccount);


    /**
     * 更新twitter用户
     *
     * @param twCollectionConfigAccount tw系列配置账户
     */
    void updateTwitterUser(TwitterAccount twCollectionConfigAccount);


    /**
     * twitter账户列表
     *
     * @param userRequest 用户请求
     * @return {@link PageResponse}<{@link TwitterAccount}>
     */
    PageResponse<TwitterAccount> listTwitterAccounts(UserWebRequest userRequest);



}
